なのはmini説明 2016.1.20 川端一之 ================================================== 【 ソフト名 】なのはminiのソース 【バージョン】0.2.2.1 【 作成日 】2016/01/04 【 製作者 】かず@なのは(川端一之) ================================================== ■はじめに  本プログラムは、USIに対応した将棋プログラムです。  強いチェスプログラムのStockfish-2.1をベースに作成しています。 ■コンパイル方法  ・Visual Studio Community 2013 で確認しています(2015ではコンパイルできません)。 1. 適当なところに展開します。 2. VS2013 x86 Native tools Command Prompt (または VS2013 x86 Native tools Command Prompt)を起動しいます。 3. 展開したところにカレントディレクトリを移動します。 4. nmake -f Makefile.vs とすれば、コンパイルできます。 (nmake -f Makefile.vs pgo とすれば、PGOが効いてより高速になると思います) ※Cygwin でも make とすれば、コンパイルできると思います。 ■概要  Stockfish-2.1をベースにチェス固有処理を無効にし、将棋固有処理を追加しています。  具体的な差分としてはマクロNANOHAで分離されているところおよび固有ファイルになります。  なお、全体が将棋用となっている固有ファイルはマクロNANOHAで分離していません。   将棋用ファイル(NANOHAなし):book.cpp, book.h, evaluate.cpp, evaluate.h,    mate.cpp, mate1ply.cpp, shogi.cpp   Stockfish由来ファイル(マクロNANOHAで分離):その他*.cpp, *.h  データ構造としてはbitboardではなく、一次元配列と駒番号と利き情報を持っています。 ■改造のポイント  ・評価関数をより精度が高いものにする。  ・評価関数の計算を差分で行い、高速化する。  ・探索のパラメータがStockfishのままなので、将棋に合わせて調整する。  ・将棋の特徴に応じた探索処理にする。  ・フィッシャールールに対応する。 …など ■使用条件および免責等  ・GPLに従います。詳細はアーカイブのCopying.txtを参照してください。   ⇒この配布がライセンスを守っていないところがあればご指摘ください。  ・なのはminiの著作権は作者(かず@なのは;川端一之)が保有します。  ・なのはminiを再配布するときは、GPLに従って行ってください。  ・バグは内在していると思いますので、ご指摘いただければありがたいです。   (なるべくやさしくお願いします) ■謝辞  ・ベースとなったStockfish開発者Marco Costalba, Joona Kiiski, Tord Romstadに感   謝します。  ・なのはminiの開発にあたって gpsfish を参考にしました。TeamGPS各位に感謝します。  ・Woodyさんのブログ記事もとても参考にしています。  ・れさぴょんも参考にしています。開発者の池さんに感謝します。 ■参考文献 ・小谷善行、他:「コンピュータ将棋」, サイエンス社, 1990. ・松原仁 編著:「コンピュータ将棋の進歩」, 共立出版, 1996. ・松原仁 編著:「コンピュータ将棋の進歩2」, 共立出版, 1998. ・松原仁 編著:「コンピュータ将棋の進歩3」, 共立出版, 2000. ・松原仁 編著:「アマ四段を超えるコンピュータ将棋の進歩4」, 共立出版, 2003. ・松原仁 編著:「アマトップクラスに迫るコンピュータ将棋の進歩5」, 共立出版, 2005. ・池泰弘:「コンピュータ将棋のアルゴリズム」, 工学社, 2005. ・金子知適, 田中哲朗, 山口和紀, 川合慧:「新規節点で固定深さの探索を併用するdf-pn アルゴリズム」, 第10回ゲーム・プログラミングワークショップ, pp.1-8, 2005. ・脊尾昌宏:「詰将棋を解くアルゴリズムにおける優越関係の効率的な利用について」, 第5回ゲーム・プログラミングワークショップ, pp. 129-136, 1999. ・保木邦仁:「局面評価の学習を目指した探索結果の最適制御」 http://www.geocities.jp/bonanza_shogi/gpw2006.pdf ・岸本章宏:「IS 将棋の詰将棋解答プログラムについて」, http://www.is.titech.ac.jp/~kishi/pdf_file/csa.pdf, 2004. ・橋本剛, 上田徹, 橋本隼一:「オセロ求解へ向けた取り組み」, http://www.lab2.kuis.kyoto-u.ac.jp/~itohiro/Games/Game080307.html ■参考web ・千里の道も一歩から: http://woodyring.blog.so-net.ne.jp/ ・小宮日記: http://d.hatena.ne.jp/mkomiya/ ・State of the Digital Shogics [最先端計数将棋学]: http://ameblo.jp/professionalhearts/ ・ながとダイアリー: http://d.hatena.ne.jp/mclh46/ ・毎日がEveryday: http://d.hatena.ne.jp/issei_y/ ・Bonanzaソース完全解析ブログ: http://d.hatena.ne.jp/LS3600/ ・aki.の日記: http://d.hatena.ne.jp/ak11/ ・FPGA で将棋プログラムを作ってみるブログ: http://blog.livedoor.jp/yss_fpga/ ■履歴 2016/01/04 Ver.0.2.2.1 いろいろバグ修正 2015/12/01 Ver.0.2.2 いろいろバグ修正、なのはnano追加 2014/12/26 Ver.0.2.1.1 致命的バグ修正、PGO対応、インデント統一 2014/12/23 Ver.0.2.1 初版